home *** CD-ROM | disk | FTP | other *** search
- /********************************************************************/
- /* SOURCE CODE FILE */
- /********************************************************************/
- /*
- * >>> File name: CLASS POOP Object.c
- *
- * >>> Purpose: Methods for Generic Objects
- * >>> Project: PoopDraw Version 1
- * >>> Date: May 23, 1989
- * >>> By: Adam Treister
- *
- */
- /********************************************************************/
- /* For Your Information 1802 Hillside Rd. SB CA 93101 */
- /********************************************************************/
-
- #include "PoopDrawInc"
-
- private void Init(ObjectHandle ObjectH,LPtr ParmP);
- private void Dispose(ObjectHandle ObjectH);
-
- private void Show(ObjectHandle ObjectH);
- private void Hide(ObjectHandle ObjectH);
-
- private void Resize(ObjectHandle ObjectH,LPtr ParmP);
- private void Move(ObjectHandle ObjectH,LPtr ParmP);
- private void BringToFront(ObjectHandle ObjectH,ObjectHandle obList);
- private void SendToBack(ObjectHandle ObjectH,ObjectHandle obList);
-
- /***** Dispatch *****************************************************/
-
- void ObjectDispatch(ObjectH,Message,ParmP)
- ObjectHandle ObjectH;
- int Message;
- LPtr ParmP;
-
- {
- switch(Message)
- {
-
- case INIT: Init(ObjectH,ParmP); break;
- case DISPOSE: Dispose(ObjectH); break;
-
- case SHOW: Show(ObjectH); break;
- case HIDE: Hide(ObjectH); break;
-
- case MOVE: Move(ObjectH,ParmP); break;
- case RESIZE: Resize(ObjectH,ParmP); break;
-
- case CUT:
- case COPY:
- case PASTE: /* sorry, not implemented */ break;
-
- case FRAME: FrameRect(&(*ObjectH)->bounds); break;
- case INVAL: InvalRect(&(*ObjectH)->bounds); break;
- case ERASE: EraseRect(&(*ObjectH)->bounds); break;
-
- case BRINGTOFRONT: BringToFront(ObjectH,ParmP); break;
- case SENDTOBACK: SendToBack(ObjectH,ParmP); break;
-
-
- default: Oops("\pThe Buck Stops here!",Message,TRUE);
- }
- }
- /*---------------------------------------------------------------*/
- ObjectHandle MakeStdObject(void);
- ObjectHandle MakeStdObject()
- {
- ObjectHandle ObjectH;
-
- ObjectH = _GetHandleToRecord(ObjectRec);
- (*ObjectH)->dispatch = ObjectDispatch;
- return(ObjectH);
- }
-
- /*------------------------------------------------------------------*/
- void Init(ObjectH,ParmP)
- register ObjectHandle ObjectH;
- LPtr ParmP;
-
- {
-
- (*ObjectH)->bounds = *((Rect *) ParmP);
- BitSet(&(*ObjectH)->attributes,VisibleBit);
- (*ObjectH)->port = MyFrontWindow();
- }
- /*---------------------------------------------------------------*/
- void Dispose(ObjectH)
- register ObjectHandle ObjectH;
-
- {
- DisposeHandle(ObjectH);
- }
-
-
- /*---------------------------------------------------------------*/
- void Show(ObjectH)
- register ObjectHandle ObjectH;
-
- {
- BitSet(&(*ObjectH)->attributes,VisibleBit);
- Dispatch(ObjectH,INVAL,NULL);
- }
-
- /*---------------------------------------------------------------*/
- void Hide(ObjectH)
- register ObjectHandle ObjectH;
-
- {
- BitClr(&(*ObjectH)->attributes,VisibleBit);
- Dispatch(ObjectH,INVAL,NULL);
- }
- /*==================================================================*/
- void Move(ObjectH,ParmP)
- register ObjectHandle ObjectH;
- LPtr ParmP;
-
- {
- int dh,dv;
-
- if (*ParmP == 0x8000) return;
- dv = HiWord(*ParmP); dh = LoWord(*ParmP);
- Dispatch(ObjectH,INVAL,NULL);
- OffsetRect(&(*ObjectH)->bounds,dh,dv);
- Dispatch(ObjectH,INVAL,NULL);
- }
-
- /*---------------------------------------------------------------*/
- void Resize(ObjectH,ParmP)
- register ObjectHandle ObjectH;
- LPtr ParmP;
- {
- Dispatch(ObjectH,INVAL,NULL);
- (*ObjectH)->bounds = *(Rect *) ParmP;
- Dispatch(ObjectH,INVAL,NULL);
-
- }
- /*------------------------------------------------------------------*/
- void BringToFront(ObjectH,obList)
- register ObjectHandle ObjectH;
- register ObjectHandle obList;
- {
- Dispatch(obList,DELOBJECT,ObjectH);
- Dispatch(obList,ADDOBJECT,ObjectH);
- Dispatch(ObjectH,INVAL,NULL);
- }
- /*------------------------------------------------------------------*/
- void SendToBack(ObjectH,obList)
- register ObjectHandle ObjectH;
- register ObjectHandle obList;
- {
- Dispatch(obList,DELOBJECT,ObjectH);
- Dispatch(obList,APPEND,ObjectH);
- Dispatch(ObjectH,INVAL,NULL);
- }
-